package media

import "vrcm/src/vrcm/app/admin/models/media"

type LongVideoAuditReq struct {
	TenantId   string             `json:"tenant_id"`
	AppId      int64              `json:"appId" comment:"应用ID"`
	Url        string             `json:"url" comment:"视频地址"`
	StrategyId int64              `json:"strategyId" comment:"策略ID"`
	Frequency  int                `json:"frequency" comment:"视频流处理抽帧频率，单位s，默认5s抽一帧图"`
	ExtId      string             `json:"extId" comment:"用户侧流唯一标识，长度限制45字符以内"`
	SubEvents  string             `json:"subEvents" comment:"1是合规、2是违规、3是疑似、4是审核失败】，之间用英文逗号分隔，默认是2,3【代表通知推送审核结论是违规和疑似的数据"`
	NoticeUrl  string             `json:"noticeUrl" comment:"通知地址 ，接口定义见通知接口"`
	DetectType int                `json:"detectType" comment:"审核类型 0视频、音频同时过审，1仅视频过审，2仅音频过审"`
	Assets     []media.AssetAudit `json:"assets" comment:"素材审核"`
}

type VideoAuditReq struct {
	Id             int    `json:"id" comment:"审核记录id"`
	TenantId       string `json:"tenant_id"`
	AssetId        string `json:"asset_id" comment:"素材id"`
	Type           int    `json:"type" comment:"1色情识别、2暴力、3恶心、4广告、5政治敏感 6其他"`
	FrameTimeStamp int    `json:"frame_time_stamp" comment:"图片时间戳"`
}

type AuditStatisticRes struct {
	Task     string `json:"task" comment:"审核任务"`
	AssetId  string `json:"asset_id" comment:"素材id"`
	SourceId int    `json:"source_id" comment:"信源"`
	Type1Num int    `json:"type1_num" comment:"色情" `
	Type2Num int    `json:"type2_num" comment:"暴力"`
	Type3Num int    `json:"type3_num" comment:"恶心"`
	Type4Num int    `json:"type4_num" comment:"广告"`
	Type5Num int    `json:"type5_num" comment:"政治"`
	Type6Num int    `json:"type6_num" comment:"其他"`
}

type AuditStatisticDetailRes struct {
	SourceId      int `json:"source_id" comment:"信源"`
	ChannelId     int `json:"channel_id" comment:"频道id"`
	ViolationType int `json:"violation_type" comment:"违规类型 1色情识别、2暴力、3恶心、4广告、5政治敏感 6其他"`
	TypeNum       int `json:"type_num" comment:"数量"`
}

type UpdateAuditState struct {
	TenantId   string `json:"tenant_id" comment:"租户" validate:"required"`
	AssetId    string `json:"asset_id" comment:"素材id"`
	AuditState int    `json:"audit_state" comment:"1通过 2不通过 3审核中"`
	Account    string `json:"account" comment:"账户"`
}

type GetAuditState struct {
	TenantId string `json:"tenant_id" comment:"租户"`
	AssetId  string `json:"asset_id" comment:"素材id"`
}
type GetAudit struct {
	TenantId string `json:"tenant_id" comment:"租户"`
	AssetId  string `json:"asset_id" comment:"素材id"`
}

type DeleteAssetAudit struct {
	TenantId string   `json:"tenant_id" comment:"租户"`
	AssetIds []string `json:"asset_ids" comment:"素材id"`
}

type AuditStatistics struct {
	TenantId string   `json:"tenant_id" comment:"租户"`
	AssetIds []string `json:"asset_ids" comment:"素材id"`
}

type GetAuditStatic struct {
	TenantId  string `json:"tenant_id" comment:"租户"`
	AssetId   string `json:"asset_id" comment:"素材id"`
	StartTime int64  `json:"start_time" comment:"开始时间"`
	EndTime   int64  `json:"end_time" comment:"结束时间"`
}
